package com.chenglu.android.restaurant.mvp.contract;



import com.chenglu.android.bean.SmsCodeBean;
import com.chenglu.android.cart.bean.CartBean;
import com.chenglu.android.common.base.BaseView;
import com.chenglu.android.goodsinfo.bean.GoodsCommentBean;
import com.chenglu.android.goodsinfo.bean.GoodsInfoBean;
import com.chenglu.android.goodsinfo.bean.ShopsinfoBean;
import com.chenglu.android.index.bean.IndexRecomBean;
import com.chenglu.android.mine.bean.CommonDataBean;
import com.chenglu.android.restaurant.bean.CurrentShopsInfoBean;
import com.chenglu.android.restaurant.bean.GoodscategorylisBean;
import com.chenglu.android.restaurant.bean.ReviewTypeCountBean;
import com.chenglu.android.restaurant.bean.ShopReviewPageBean;

import java.util.Map;

import io.reactivex.rxjava3.core.Observable;
import okhttp3.RequestBody;

/**
 * @author: lyj
 * @Created by Copyright 2023/7/27 Guangzhou Hongma Technology Co., Ltd. All rights reserved.
 *
 */
public interface RestaurantShopContract {

    /**
     *
     * @description model
     *
     */

    public interface RestaurantShopoModel{


        Observable<CurrentShopsInfoBean> getCurrentShopsInfo(String tenantId);

        Observable<GoodscategorylisBean> getGoodscategoryList(String tenantId);

        Observable<ReviewTypeCountBean> getReviewTypeCount(String tenantId);

        Observable<ShopReviewPageBean> getShopReviewPage(String tenantId, int current, int size, int isBad, int isPic);

        Observable<CommonDataBean> getAddCartShop(String token,RequestBody requestBody);

        //购物车的数量
        Observable<CartBean> getShopsCartList(String token, String tenantId);

        Observable<CommonDataBean> getShopCouponreceive(String token,String id);


    }


    /**
     *
     * @description view
     *
     */

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void dismissLoading();

        @Override
        void onEmpty(Object tag);

        @Override
        void onError(String errMessage);


        void getCurrentShopsInfo(CurrentShopsInfoBean bean);

        void getGoodscategoryList(GoodscategorylisBean bean);

        void getReviewTypeCount(ReviewTypeCountBean bean);

        void getShopReviewPage(ShopReviewPageBean bean);

        void getAddCartShop(CommonDataBean bean);

        void getShopsCartList(CartBean bean);

        void getShopCouponreceive(CommonDataBean bean);
    }

    /**
     *
     * @description presenter
     *
     */

    public interface RestaurantShopPresenter {

        void getCurrentShopsInfo(String tenantId);

        void getGoodscategoryList(String tenantId);

        void getReviewTypeCount(String tenantId);

        void   getShopReviewPage(String tenantId, int current, int size, int isBad, int isPic);

        void getAddCartShop(String token,RequestBody requestBody);

        void getShopsCartList(String token,String tenantId);

        void getShopCouponreceive(String token,String id);
    }
}